package com.jxtc.enterprise.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;
import java.time.LocalTime;

@Getter
@Setter
@ToString
@TableName(value = "store")
public class Store {
    /**
     * uuid
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 店铺名称
     */
    private String name;
    /**
     * 店铺 LOGO 链接
     */
    private String logo;
    /**
     * 店铺地址
     */
    private String address;
    /**
     * 店铺地址经度
     */
    private Double longitude;
    /**
     * 店铺地址纬度
     */
    private Double latitude;
    /**
     * 店铺描述
     */
    private String description;
    /**
     * 店铺所属分类 ID
     */
    private String categoryId;
    /**
     * 店铺所属分类名称
     */
    private String categoryName;
    /**
     * 店铺中的菜品分类
     */
    private String foodTypes;
    /**
     * 店主的身份证号
     */
    private String merchantIdNum;
    /**
     * 店主的手机号
     */
    private String merchantPhone;
    /**
     * 店主的微信号
     */
    private String merchantWechatNum;
    /**
     * 店铺店主姓名
     */
    private String merchantName;
    /**
     * 店铺营业起始时间，消费者可以点餐的最早时间，此时间之前不可点餐（默认 19:00）
     */
    private String businessStart;
    /**
     * 店铺营业截止时间，消费者可以点餐的最早时间，此时间之后不可点餐（默认 10:30）
     */
    private String businessEnd;
    /**
     * 店铺的资质照片地址，比如 营业执照，卫生许可证照片 url，json array 格式的字符串
     */
    private String qualifications;
    /**
     * 店铺合作价，单位为分，店铺中各个菜品的默认合作价
     */
    private Integer storePrice;
    /**
     * 加密后的用户的密码
     */
    private String merchantLoginPasswd;
    /**
     * 限购数量
     */
    private Integer limitCount;
    /**
     * 打印机序列号
     */
    private String printerSn;

    /**
     * 0 非小碗菜的菜品，打印时不需要合并，1小碗菜，打印时需要合并
     */
    @TableField("merge_food_items")
    private Integer mergeFoodItems;

    /**
     * 打印的贴纸类型
     * 1：贴纸，有一面有胶水，可以粘贴到餐盒上，单面胶 贴纸
     * 2：小票，只能通过订书机订到包装袋上，外卖 小票就是这种
     */
    @TableField("print_label_type")
    private Integer printLabelType;

    /**
     * 该店铺是那个租户挖掘合作的
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 软删除标记，1 表示已删除，0 表示未删除
     */
    private Boolean delFlag;
    /**
     * 创建时间，在创建时默认传值，不需要手动操作
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间，在更新时默认传值，不需要手动操作
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
